package com.yf.exam.modules.trainingarchives.trainingclassinfo.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yf.exam.core.api.dto.BaseIdReqDTO;
import com.yf.exam.core.api.dto.PagingReqDTO;
import com.yf.exam.modules.trainingarchives.pdfexport.dto.second.TrainingClassInfoExportDTO;
import com.yf.exam.modules.trainingarchives.trainingclassinfo.dto.req.TrainingClassInfoReqDTO;
import com.yf.exam.modules.trainingarchives.trainingclassinfo.dto.resp.TrainingClassInfoRespDTO;
import com.yf.exam.modules.trainingarchives.trainingclassinfo.entity.TrainingClassInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yf.exam.modules.trainingarchives.trainingclassschedule.dto.resp.TrainingClassScheduleRespDTO;

/**
 * <p>
 * 一期一档基础信息表 服务类
 * </p>
 *
 * @author author
 * @since 2024-12-29
 */
public interface ITrainingClassInfoService extends IService<TrainingClassInfo> {

    /**
     * 新增一期一档基础信息
     * @param reqDTO
     * @return
     */
    Boolean add(TrainingClassInfoReqDTO reqDTO);

    /**
     * 根据id删除一期一档基础信息
     * @param id
     * @return
     */
    Boolean deleteById(String id);

    /**
     * 更新一期一档基础信息
     * @param reqDTO
     * @return
     */
    Boolean updateTrainingclasssInfO(TrainingClassInfoReqDTO reqDTO);

    /**
     * 一期一档基础信息列表查询
     * @param reqDTO
     * @return
     */
    IPage<TrainingClassInfoRespDTO> paging(PagingReqDTO<TrainingClassInfoReqDTO> reqDTO);

    /**
     * 查询一期一档基础信息详情
     * @param baseIdReqDTO
     * @return
     */
    TrainingClassInfoRespDTO getDetail(BaseIdReqDTO baseIdReqDTO);

    /**
     * 获取安全培训计划表pdf数据
     * @param trainingClassInfoId
     * @return
     */
    TrainingClassInfoExportDTO getPdfData(String trainingClassInfoId);

}
